﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using ComplexNetGeneratorLib;

namespace ComplexNetGeneratorTest
{
    class Program
    {
        static void Main(string[] args)
        {
            /*ComplexNetGenerator generator = new ComplexNetGenerator();
            ComplexNet net = generator.generateSmallWorld(100, 8, 0.4);
            StreamWriter writer = new StreamWriter("smallWorld.graphml", false, Encoding.UTF8);
            net.saveAsGraphML(writer);
            writer.Close();*/

            ComplexNetGenerator generator2 = new ComplexNetGenerator();
            ComplexNet net2 = generator2.generateScaleFree(15, 1, 1);
            StreamWriter writer2 = new StreamWriter("ScaleFree.graphml", false, Encoding.UTF8);
            net2.saveAsGraphML(writer2);
            writer2.Close();

            /*ComplexNetGenerator generator = new ComplexNetGenerator();
            ComplexNet net = generator.generateGraphP(20, 0.6);
            StreamWriter writer = new StreamWriter("GraphP.graphml", false, Encoding.UTF8);
            net.saveAsGraphML(writer);
            writer.Close();*/

            /*ComplexNetGenerator generator = new ComplexNetGenerator();
            ComplexNet net = generator.generateGraphK(20, 80);
            StreamWriter writer = new StreamWriter("GraphK.graphml", false, Encoding.UTF8);
            net.saveAsGraphML(writer);
            writer.Close();*/

            /*ComplexNetGenerator generator = new ComplexNetGenerator();
            ComplexNet net = generator.generateBAModelSimplifiedA(20, 4, 2);
            StreamWriter writer = new StreamWriter("BAModelSimplifiedA.graphml", false, Encoding.UTF8);
            net.saveAsGraphML(writer);
            writer.Close();*/
            
            /*ComplexNetGenerator generator = new ComplexNetGenerator();
            ComplexNet net = generator.generateBAModelSimplifiedB(20, 50);
            StreamWriter writer = new StreamWriter("BAModelSimplifiedB.graphml", false, Encoding.UTF8);
            net.saveAsGraphML(writer);
            writer.Close();*/

            /*ComplexNetGenerator generator = new ComplexNetGenerator();
            ComplexNet net = generator.generateBAModel(40, 5, 1, 0.3, 0.2);
            StreamWriter writer = new StreamWriter("BAModel.graphml", false, Encoding.UTF8);
            net.saveAsGraphML(writer);
            writer.Close();*/

            /*ComplexNetGenerator generator = new ComplexNetGenerator();
            ComplexNet net = generator.generateKleinbergModel(4, 1, 15, 6);
            StreamWriter writer = new StreamWriter("Kleinberg.graphml", false, Encoding.UTF8);
            net.saveAsGraphML(writer);
            writer.Close();*/

            /*ComplexNetGenerator generator = new ComplexNetGenerator();
            ComplexNet net = generator.generateAlfaModel(40, 5, 5);
            StreamWriter writer = new StreamWriter("AlfaModel.graphml", false, Encoding.UTF8);
            net.saveAsGraphML(writer);
            writer.Close();*/
        }
    }
}
